package top.lishuoboy.lombok.annotation.builder_superbuider.bean;


import lombok.Builder;
import lombok.Data;

/**
 * @author lishuoboy
 * @Builder并不支持父类成员属性的构造，@SuperBuilder注解的出现，就是用来解决这个问题。父类和子类上都加上@SuperBuilder，这样子类就可以正常获取到父类的成员属性进行builder构造了。
 */
@Builder  // 已经被 @SuperBuilder替代。
//@SuperBuilder // 已经被 @Accessors(chain = true) 替代。
@Data
public class User {

    /** 编号 */
    private Integer id;
    /** 姓名 */
    private String name;

    @Builder.Default  // @Builder和 @SuperBuilder 的默认值，没有这个注解，默认值无效。有了这个注解才有效
    private Integer age = 16;
}



